import {reqCategoryList,reqGetBannerList,reqGetFloorList} from '@/api';
//state:仓库存储数据的地方
const state = {
    //state中的默认数据不能瞎写，根据服务器返回的数据类型给
    categoryList:[],
    //轮播图数据
    bannerList:[],
    //floor数据
    floorList:[]
};
//mutations:修改state的唯一手段
const mutations = {
    CATEGORYLIST(state,categoryList){
        state.categoryList = categoryList;
    },
    GETBANNERLIST(state,getBannerList){
        state.bannerList = getBannerList;
    },
    GETFLOORLIST(state,getFloorList){
        state.floorList = getFloorList;
    }
};
//actions：处理action，可以书写自己的业务逻辑，也可以处理异步
const actions = {
    //通过API里面的接口函数调用，向服务器发请求，获取服务器数据
    async categoryList({commit}){
        let p = await reqCategoryList();
        if (p.code == 200) {
            commit('CATEGORYLIST',p.data);
        }
    },
    
    //获取首页轮播图数据
    async getBannerList({commit}){
        let result = await reqGetBannerList();
        // console.log(result);
        if (result.code == 200) {
            commit('GETBANNERLIST',result.data);
        }
    },
    //获取floor数据
    async getFloorList({commit}){
        let result = await reqGetFloorList();
        // console.log(result);
        if (result.code == 200) {
            commit('GETFLOORLIST',result.data);
        }
    }
};
//getters:理解为计算属性，用于简化仓库数据，让组件获取仓库的数据更方便
const getters = {};
//对外暴露Store类的一个实例
export default {
    state,
    mutations,
    actions,
    getters
}